253. docker內服務狀態判斷

WHY

上一篇 251. GCE上的docker監控
能取得服務本身的CPU、Memory..等,
但如果要判斷服務有沒有正常,
還真的不知從何著手。

Solution

使用 container_last_seen 配上 absent取絕對值

absent(container_last_seen{name=~"filebeat"}) OR vector(0)

為什麼要加上 or vector(0)的原因是
當promQL判斷服務 filebeat還活著的話,
不會有任何資料。

253-fig.1.png
當服務沒啟動時,才會顯示 1

於是加上後面 OR vector(0)
當沒有查詢結果時,預設會顯示 0 ,方便告警復歸。

ref. What container_last_seen use for